package 深入反射机制.反射方法Method.获取方法的各种信息.test01;

import test.UserService;

import java.lang.reflect.Method;
import java.lang.reflect.Modifier;

public class ReflectTest01 {
    public static void main(String[] args) {
        Class userServiceClass = UserService.class;

        //获取所有的Method（包括私有的）
        Method[] methods = userServiceClass.getDeclaredMethods();
        //System.out.println(methods.length);
        for (Method method : methods){

            //获取修饰符列表简单名
            String modifierName = Modifier.toString(method.getModifiers());

            //获取返回值类型简单名
            String returnType = method.getReturnType().getSimpleName();

            //获取修饰符列表
            Class[] parameterTypes = method.getParameterTypes();

            for (Class parameter : parameterTypes){
                System.out.println(modifierName + " " + returnType + " " + method.getName() + " {" + parameter.getSimpleName() + "," +"}");
            }

        }
    }

}
